//
//  Classifier.h
//
//  Created by Rune Laugesen on 23/01/12.
//  Copyright 2012 Copenhagen University. All rights reserved.
//

#ifndef Dictionary_Classifier_h
#define Dictionary_Classifier_h

#include "Instances.h"
#include "SWPSUtil.h"

using namespace std;

class Classifier
{
public:
    virtual ~Classifier() {}
    virtual void TrainClassifier(vector< vector<string> > trainingdata, SWPS swps) {};
    virtual void BuildFeatureData(vector< vector<string> > featuredata, SWPS swps) {};
    //Obsolete
    virtual map<double, string> Classify(vector<string> words, vector<string> features) { return map<double, string>();};
    virtual map<double, string> Classify(vector<string> words, SWPS swps) { return map<double, string>();};
    virtual map<double, string> Classify(vector< pair<string, double> > words, SWPS swps) { return map<double, string>();};
    virtual void SetTrainingData(Instances trainingdata) {};
    virtual Instances GetTrainingData() const { return Instances(); };
    virtual void SetFeatureData(map<string, vector<string> > featuredate) {};
    virtual map<string, vector<string> > GetFeatureData() const { return map<string, vector<string> >(); };
};


#endif
